/**
 *    БИБЛИОТЕКА ДЛЯ ВВОДА-ВЫВОДА ФАЙЛОВ В БРАУЗЕРЕ
 *    Copyright © 2022, А.М.Гольдин. ISC license
 * 
 *    Руководство по использованию - см. файл readme.md
 */
"use strict";

const io = {
   
   get: (buttonID, funcOnClick, accept) => {
      const e = document.createElement("input");
      e.style.display = "none";
      e.type   = "file";
      if (accept) e.accept = accept;
      e.onchange = () => {
         let reader = new FileReader();
         reader.onload = e => funcOnClick(new Uint8Array(e.target.result));
         reader.onerror = er => alert("Ошибка чтения файла");
         reader.readAsArrayBuffer(e.files[0]);
      }
      document.body.append(e);
      document.querySelector("#"+buttonID).onclick = () => e.click();
   },

   put: (buttonID, funcReturnCont, mime, fileName) => {
      const a = document.createElement("a");
      a.style.display = "none";
      a.onclick = () => {
         let content = funcReturnCont();
         a.href = window.URL.createObjectURL(new Blob([content], {type: mime}));
         a.download = fileName;
         a.blur();
      }
      document.body.append(a);
      document.querySelector("#"+buttonID).onclick = () => a.click();
   }
}
